Certain types of what we will call controllers are used to control operating systems of various kinds. HVAC equipment, manufacturing machinery, automobiles, appliances, and electronic equipment are some of the kinds of operating systems involved here. The controllers for them typically have a microprocessor of some type along with a memory for storing the firmware executed by the microprocessor and any data parameters necessary to perform the control or other function. Loading the parameters needed for controlling a particular operating system into the microprocessor memory is called commissioning. The system-specific commissioning parameters are usually data values of some kind, but could as well be actual source code. Normally, controllers are designed so that they are inoperable until commissioned, although they may provide some sort of error indication if installed without prior commissioning.
Where the operating systems are factory-built or most of the operating systems involved are identical, the operating system manufacturer can quite easily assure proper commissioning for its controllers. Automobiles, appliances, and electronic equipment are examples of devices with factory-installed controllers that are essentially identical over a single model or group of models. Even where different models of factory-built systems are involved requiring different controller configurations, the factory environment makes this easy to accomplish.
Where a problem may arise is with another class of operating systems that are not completely assembled in a factory and have many distinct configurations each differing sufficiently in details requiring a controller with different parameters of one type or another. Heating equipment of various types and manufacturing machinery are types of such devices. Boilers for space heating for example have a multitude of different pressures, temperatures, and flame management parameter combinations in their installation sites. For this reason the controller for one installation of this type will have a number of control parameters that differ from controllers for other sites. At the same time, the software implementing the control algorithms may be similar or identical. For this reason, it has become both expensive and logistically difficult to provide the multitude of different factory-programmed controllers needed for every possible operating system configuration.
Another important factor is the need for integrity and accountability in the commissioning process. If the proper parameters are not loaded into the microprocessor memory during commissioning, at the very least, the operating system will run inefficiently; at the worst, unsafely. At the same time, keeping costs down and controller selection simple is important.
Another concern is the potential for tampering. Once a controller has been properly selected or commissioned for a specific operating system, it is important that the parameters not be changed, or be changed only by authorized persons. Since the latter is difficult to guarantee, the trend now is to include features in controllers that prevent unauthorized changes to the design. If a new controller design is required, the preferred way is simply to replace the old controller with a new, properly commissioned unit.
We have developed a new system for commissioning a controller that allows the system parameters to be specified during the commissioning event by a permanent readable label attached to an external surface of the controller. Features of this process provide a high level of integrity and accountability with respect to the final configuration of each commissioned controller. In this context, it goes without saying that an uncommissioned controller should not be able to initiate any activity by any operating system.
This system also improves accuracy in specifying the parameters to be loaded into a programmable memory of a controller to be commissioned. Devices such as data recorders, hand-held computers or PDAs, and other related devices that are commissioned or prepared for specific tasks, may be included in the term xe2x80x9ccontrollerxe2x80x9d.
A commissioning system supplies to a data port of the controller a commissioning signal encoding at least one parameter value. The controller has a surface bearing a label on which is imprinted a code pattern specifying in some way the at least one parameter value.
The commissioning system comprises a processor for providing the commissioning signal encoding each parameter value responsive to a read label signal encoding a code pattern specifying the particular parameter value. A label reader reads the code pattern on the label of a controller to be commissioned and providing a read label signal encoding the parameter value or values specified by the code pattern imprinted on the label. The parameter value or values are loaded into the controller""s programmable memory either directly from the data port, or by a processing unit forming a part of the controller.
A preferred version of the commissioning system is for use with a controller having a predetermined position for the label. Such a commissioning system includes a commissioning station for mounting or docking the controller in a predetermined position. The commissioning station includes a data port for communicating with the controller data port. The commissioning station data port is connected to receive the programming signal from the processor. The commissioning station supports the label reader in position to read the label in the predetermined label position on the controller when the controller is in the predetermined controller position in the commissioning station.